<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>函数</title>
</head>
<body>
<script type="text/javascript">
// function  box(){
// 	return function(num){
// 		alert(10);
// 	}
// }

// var result=	box();
//  result();


// //arguments.......................
//  function box1(num){
//  	if(num<=1 ){
//  		return 1;
//  	}else{
//  		return num*arguments.callee(num-1);//argument指向的是内部函数 
//  	}
//  } 
//  box1();
//  ...........................................................
//  
 //window 对象 在JavaScript中全局声明测变量和函数都是window的属性和方法
 //this.......
//  window.color=("红色的");
//  alert(this.color);//(object window);代表window对象
//  var box={
//  	color:"蓝色的",
//  	show:function(){
//  		document.write(this);//(object object);代表box对象
//  	}
//  }
//  box.show();
//..........................................................
// //函数的属性和方法.
// function box(a,b,c){

// }
// document.write(box.length);//length属性代表函数希望接收的参数的个数

//this 作为变量的

// function getMax(){
// 	var max=this[0];
// 	for(var i=0;i<this.length;i++){
// 		if (max<this[i]){
// 			max=this[i];
// 		}

// 	}
// 	return max;
// }
// Array.prototype.getMax=getMax;
// var arr=[1,2,3,4,5,6,7];
// document.write(getMax(arr));
// var arr1=[1,22,2,4,2,6,7];
// document.write(getMax(arr1));
//......................................................
// function box(num1,num2){
// 	return num1+num2;
// }
// //call方法：
// function show(num1,num2){
// 	return box.call(this,num1,num2);
// }
// //apply方法：
// function show(num1,num2){

// 	return box.apply(this.[num1,num2]);
// }
//saycolor.call(box);//作用域在box中，冒充对象
//.....................................................
// var arr=[3,5,7,2,8,11,22]
// document.write(Math.max.apply(this,arr));//通过apply改变传参的方式
// 
//.....................................................
//基本类型赋值的是值本身JavaScript中都是按值传递
//引用类型赋值的是地址,但值本身不会改变
//var obj=new Object();
 //obj.name='xxx';
 //document.write(obj.name); 
// function box(obj){
// 	obj=new Object();
// 	obj.name="黑";
// 	document.write(obj.name);
// }
// var obj=new Object();
// obj.name="白";
// box(obj);
// document.write(obj.name);
//.................................................

//包装类型
//  var box="dasdsa";
//   box.name="小白";
//  document.write(box.name)//undefined

//  var box2=new String("dasdsa");//通过包装类型进行创建 
// box2.name="小黑";
// document.write(box2.name);//小黑
// ................................................. 
 // var num=12.332;
 // document.write(num.toFixed(1));
//.................................................
// var num="qwert";
// document.write(num.charAt(3));

//验证码..........................................
 var reg="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789";
 var str="";
 for(var i=0;i<4;i++){
 	var index=Math.floor(Math.random()*reg.length);
 	str+=reg.charAt(index);

 }       
document.write(str);
</script>
</body>
</html>